package com.yxhl.zoume.data.http.repository.car;

import com.yxhl.protobuf.BizOrderRequest;
import com.yxhl.protobuf.BizOrderResponse;
import com.yxhl.protobuf.MpvModelRequest;
import com.yxhl.protobuf.MpvModelResponse;
import com.yxhl.zoume.data.http.rest.param.officialcar.CancelOfficialCarOrderParam;
import com.yxhl.zoume.data.http.rest.response.specialcar.CancelOrderResponse;

import rx.Observable;

/**
 * Created by sugarya on 16/8/22.
 * 公务车
 */
public interface OfficialCarRepository {

    /**
     * 查询车辆类型,图片
     *
     * @param request
     * @return
     */
    Observable<MpvModelResponse> queryVehicleModel(MpvModelRequest request);


    /**
     * 查询公务车价格和距离
     *
     * @param request
     * @return
     */
    Observable<MpvModelResponse> queryOfficialCarPriceAndDistance(MpvModelRequest request);


    /**
     * 查询分时租车时长
     *
     * @param request
     * @return
     */
    Observable<MpvModelResponse> queryRentCarTime(MpvModelRequest request);


    /**
     * 快车下单
     *
     * @param request
     * @return
     */
    Observable<BizOrderResponse> createOfficialCarOrder(BizOrderRequest request);


    /**
     * 取消任务
     *
     * @param param
     * @return
     */
    Observable<CancelOrderResponse> cancelOfficialCarOrder(CancelOfficialCarOrderParam param);
}
